package com.bootdo.payee.dao;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.bootdo.payee.domain.PaymentCodeDO;

@Mapper
public interface PaymentCodeDao {

    List<PaymentCodeDO> list(Map<String, Object> map);

    List<PaymentCodeDO> listSort(Map<String, Object> map);

    int count(Map<String, Object> map);

    int paymentCodeSave(PaymentCodeDO paymentCode);

    PaymentCodeDO get(Long codeId);

    PaymentCodeDO getByPassagewey(Long passageweyId);

    int update(PaymentCodeDO paymentCode);

    int updateOtherRecAcc(PaymentCodeDO paymentCode);

    PaymentCodeDO getCodeByOk(Long userId);

    int closeUserOtherAllpassagewayCode (PaymentCodeDO paymentCodeDO);

    int closeUserAllpassagewayCode (PaymentCodeDO paymentCodeDO);

    int passagewayCodeDelete (PaymentCodeDO paymentCodeDO);

    int closeUserPassagewayOtherCode(PaymentCodeDO paymentCodeDO);

    int paymentCodeDelete(PaymentCodeDO paymentCode);

    List<PaymentCodeDO> userPassagewayCodeList (PaymentCodeDO paymentCode);

    List<PaymentCodeDO> queryEmptyCode(@Param("emptyNumber") Integer emptyNumber);

    int updateEmptyCode(@Param("codeId") Long codeId, @Param("emptyNumber") Integer emptyNumber);

    PaymentCodeDO queryCodeByUrl(@Param("qrCode") String qrCode);

    int deleteCodeByObj(List<PaymentCodeDO> list);

    int updateAuditStatus(@Param("codeId") Long codeId, @Param("auditStatus") String auditStatus);
}
